package com.gonsin.gnews.annotations.services;

import com.gonsin.gnews.annotations.model.*;

import java.util.List;

/**
 * 模板处理逻辑
 */
public interface TemplateService {

    /**
     * 查询模板
     */
    GNewsPageResult<NewsTemplateBean> searchTemplates(String edificeKey, NewsTemplateSearchPo searchPo, GNewsPageRequest pagePo);

    /**
     * 查询一个模板
     */
    NewsTemplateBean getTemplate(String newsTemplateKey);

    /**
     * 添加模板
     */
    void addNewsTemplate(String edificeKey, String templateKey, NewsTemplatePo po);

    /**
     * 修改模板
     */
    void updateNewsTemplate(String newsTemplateKey, NewsTemplatePo po);

    /**
     * 删除模板
     */
    void deleteNewsTemplate(List<String> newsTemplateKey);

    /**
     * 启用或禁用模板
     */
    void enableTemplate(String newsTemplateKey, boolean enable);

    /**
     * 上移模板
     * @param newsTemplateKey 模板主键
     * @return 模板信息
     */
    NewsTemplateBean moveUpNewsTemplate(String newsTemplateKey);

    /**
     * 下移模板
     * @param newsTemplateKey 模板主键
     * @return 模板信息
     */
    NewsTemplateBean moveDownNewsTemplate(String newsTemplateKey);
}
